The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, the approaches described in this section may not be prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
One of the issues with downloading data over communications networks is how to accommodate different users that may have very different and varying connection speeds. For example, two different users downloading the same movie over the Internet may have very different connection speeds. One user may be using a client with a dialup connection, while the other user is using a client with a “broadband” connection, such as a DSL or cable modem connection. Thus, the user with the dialup connection requires a significantly longer amount of time to download the same movie compared to the user with the broadband connection, which can result in an unsatisfactory user experience. Furthermore, the available bandwidth for any particular user is not necessarily constant and may vary significantly over time. For example, users that have shared access connections, such as cable modem services, may experience large variations in available bandwidth, depending upon the activities of the other users sharing the same connection. Thus, a user with a shared access connection may experience significantly longer download times when the shared access connection is heavily used by other users, compared to other times, when the shared access connection is not as heavily used by others. As another example, a user with a wireless connection may experience different available bandwidth as the user changes location with respect to a particular wireless access point (WAP). The user may also experience different available bandwidth when a change in location causes a change to a different WAP that has different bandwidth capabilities.
One approach to addressing this problem has been to offer a choice of different versions of content and allow a user to select a version of content that is appropriate for their connection speed. For example, low, medium and high resolution versions of a movie may be offered to a user for download. The low resolution version of the movie has the smallest file size and is suitable for slow connections, such as dialup connections. The medium resolution version of the movie has a larger file size and is suitable for medium speed connections, such as basic DSL service. The high resolution version of the movie has the largest file size and is suitable for high speed connections, such as cable modem or T1 line services. Higher resolution content generally provides a better user experience, at the cost of longer download times. Thus, the user wants to download the version that provides the highest resolution within an acceptable download delay.
One problem with this approach is that a user may not know their connection speed and may be confused by conventional connection speeds expressed in kilobits per second (kbs) or megabits per second (mbs). Even if the user knows their standard connection speed, the actual connection speed at the time of particular download may vary, depending for example, upon network traffic or the activity of other users in a shared access service, or by location for wireless devices. Furthermore, if a user selects the wrong download option, the user may have a less than optimal experience. If the user selects a lower resolution version, then the quality suffers. If the user selects a higher resolution version, then the download time may be greatly increased.
Based on the foregoing, there is a need for an approach for downloading data over networks that does not suffer from limitations of prior approaches.